<?php
declare (strict_types = 1);

namespace app\admin\validate;

use think\Validate;

class Content extends Validate
{
    /**
     * 定义验证规则
     * 格式：'字段名'	=>	['规则1','规则2'...]
     *
     * @var array
     */	
	protected $rule = [
	    'id'           => 'number',
	    'name'         => 'require',
        'title'        => 'require',
        'username'     => 'require',
        'cid'          => 'require',
        'type'         => 'require',
        'img'          => 'require',
        'source'       => 'require',
        'video_api_id' => 'require',
        'url'          => 'require|url',
        'start_time'   => 'require',
        'end_time'     => 'require|gt:start_time',
        'file_url'     => 'require',
        'duration'     => 'require',
        'content'      => 'require',
        'crid'         => 'require',
        'tid'          => 'require',
        'status'       => 'require',
    ];
    
    /**
     * 定义错误信息
     * 格式：'字段名.规则名'	=>	'错误信息'
     *
     * @var array
     */	
    protected $message = [
        'id.require'           => 'ID参数错误',
        'name.require'         => '分类名称不能为空',
        'title.require'        => '标题不能为空',
        'username.require'     => '主讲人姓名不能为空',
        'cid.require'          => '请选择分类',
        'type.require'         => '请选择流媒体类型',
        'img.require'          => '请上传图片',
        'source.require'       => '请选择流媒体载体来源',
        'video_api_id.require' => '视频、音频第三方关联ID不能为空',
        'url.require'          => '视视频、音频地址不能为空',
        'url.url'              => '视视频、音频地址格式不正确',
        'file_url.require'     => '请上传课件',
        'duration.require'     => '课件时长不能为空',
        'start_time.require'   => '请选择开始时间',
        'end_time.require'     => '请选择直播结束时间',
        'end_time.gt'          => '直播结束时间不能小于直播开始时间',
        'content.require'      => '内容不能为空',
        'crid'                 => '请选择所属教室',
        'tid'                  => '请选择教师',
        'status.require'       => '请选择状态',
    ];

    /**
     * 定义情景信息
     *
     * @var array
     */
    protected $scene = [
        'classify'   => ['name', 'status'],
        'article'    => ['title', 'cid', 'content', 'status'],
        'file'       => ['title', 'cid', 'status'],
        'course'     => ['title', 'status'],
        'video1'     => ['title', 'cid', 'type', 'source', 'video_api_id', 'content', 'status'],
        'video2'     => ['title', 'cid', 'type', 'source', 'url', 'content', 'status'],
        'video3'     => ['title', 'cid', 'type', 'source', 'video_api_id', 'start_time', 'end_time', 'content', 'status'],
        'video4'     => ['title', 'cid', 'type', 'source', 'url', 'start_time', 'end_time', 'content', 'status'],
        'banner'     => ['title', 'cid', 'img', 'status'],
        'classhour'  => ['title', 'username', 'start_time', 'duration', 'cid', 'crid', 'tid', 'status'],
        'tags'       => ['title', 'status'],
        'strcontent' => ['title', 'cid', 'file_url', 'status']
    ];
}
